package fr.greta.centreFormation.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * Base de donnees avec une connexion unique. Devra utiliser un pool de
 * connexions, ou une connexion a chaque demande <code>getConnection</code>
 * 
 * @author josua
 * 
 */
public class Bdd {

	protected static final String DRIVER_NAME = "com.mysql.jdbc.Driver";
	protected static final String URL = "jdbc:mysql://localhost/centre_formation";
	protected static final String USER = "centre_formation";
	protected static final String PASSWORD = "centre_formation";

	static {
		// Chargement du pilote
		// Ne doit avoir lieu qu'une seule fois
		try {
			Class.forName(DRIVER_NAME).newInstance();
			System.out.println("*** Driver loaded.");
		} catch (ClassNotFoundException e) {
			System.err.println("*** ERROR: Driver " + DRIVER_NAME + " not found");
		} catch (InstantiationException e) {
			System.err.println("*** ERROR: Impossible to create an instance of "
					+ DRIVER_NAME);
			System.err.println(e.getMessage());
		} catch (IllegalAccessException e) {
			System.err.println("*** ERROR: Impossible to create an instance of "
					+ DRIVER_NAME);
			System.err.println(e.getMessage());
		}
	}

	/**
	 * Fournit une connexion à la base de données. Ne fait pas appel à un pool de
	 * connexion, mâme si cela est envisageable plus tard (ne changerait rien à
	 * l'appel de la méthode)
	 * 
	 * @throws java.sql.SQLException
	 */
	public static Connection getConnection() throws SQLException {
		return DriverManager.getConnection(URL, USER, PASSWORD);
	}

}
